3.2 业务角色

业务角色是对应用角色的组合,主要是在门户进行跨微服务使用。可以将多个应用角色组合成1个业务角色,方便后续角色的分配和使用,提高授权效率。

平台建议用户使用业务角色来给组织和用户授权。

1.实现原理

(1)运行时设置

由于业务角色是跨微服务使用的,因此业务角色不能在开发时设置,只能在运行时设置。

开发的应用需要先发布到运行时环境,并注册到门户中,再从门户的业务角色设置页面中对业务角色进行维护。如果应用不发布,在门户是看不到应用创建的应用角色的。

(2)数据库表写入

在门户的业务角色管理页面新建业务角色后,会在门户的数据库表role中插入1条数据。name为用户填写的角色名称,type为biz(指业务角色)。

如果该业务角色分配了应用角色,会把关联关系写到parentrole_codes和parent_role_names字段,如果包含多个应用角色则用逗号分割,比如销售部门经理这个业务角色,包含销售订单\销售部门经理角色,信息发布_信息管理员角色这2个应用角色。例如:

1660642851293

(3)权限包含关系

业务角色是对应用角色的组合,因此会包含所关联的应用角色的所有权限。比如以下例子:

业务角色 包含的权限 关联的应用角色 应用角色包含的权限
项目经理 信息表CRUD
查询数据,限制查看部门员工的数据
信息发布_信息管理员角色 信息表CRUD
销售订单_销售部门经理角色 查询数据,限制查看部门员工的数据
公司领导 信息表CRUD
查询数据,限制查看公司员工的数据
信息发布_信息管理员角色 信息表CRUD
销售订单_公司领导角色 查询数据,限制查看公司员工的数据

2.实现效果

以项目经理为例,这个角色需要同时具备多个微服务的操作权限,比如即可以对信息发布应用的信息表进行管理,也可以对销售订单应用的部门订单数据进行查询,因此可以给项目经理分配多个应用角色来实现。主要操作如下:

  • 打开正式门户的业务角色管理页面,点击新建业务角色

1660209045635

  • 输入角色名称

1660643997816

  • 选择新建的项目经理业务角色,在右侧的功能列表中点击分配应用角色

1660644075511

  • 在弹出对话框中,选择需要关联的应用角色

1660644106289

配置好业务角色后,再分配给对应用户,该用户就能拥有该业务角色所包含的应用角色的全部权限。

results matching ""

    No results matching ""

    results matching ""

      No results matching ""